本章为具有其他语言编程经验的学生提供的C语言编程概述。它是专门为 Python 程序员编写的,并使用了一些Python示例来进行比较(附录1是针对Java程序员的第 1 章的版本)。当然,对于具有其他编程语言基础的人来说,这份C语言的简介也是很有用的。

就如同你了解的语言一样(如Python,Java,Ruby,C++), C语言也是一门高级编程语言。它是一种命令式和过程式编程语言, 这意味着C语言程序是由一系列函数(过程)构成并且表示为计算机可执行的一系列语句(步骤)。 每个C语言程序都必须至少有一个函数,即main函数,它包含程序开始时执行的一系列语句。

与你可能熟悉的其他一些语言相比,C语言程序对计算机机器语言的抽象程度较低。这意味着 C语言不支持面向对象编程(如Python、Java和C++),也不具有丰富的高级编程抽象集(如Python中的字符串、列表和字典)。因此,如果你想在C程序中使用字典数据结构,则需要自己实现它,而不是仅仅导入作为编程语言一部分的数据结构(如Python)。

C语言缺乏高级抽象可能使它看起来像是一门不太有吸引力的编程语言。然而,C语言对底层机器的抽象程度较低,使得程序员更容易查看和理解程序代码与计算机执行之间的关系。C语言开发者对其程序在硬件上的执行方式保留了更多控制权,相较于其他编程语言提供的高级抽象代码,C语言编写出的代码执行效率更高。特别是,他们可以更好地控制程序如何管理内存,这会对性能产生重大影响。因此,C语言仍然是计算机系统编程的主要语言,其中低级控制和效率至关重要。

我们在本书中使用 C语言是因为它具有程序控制的表达能力,并且可以相对简单地转换为计算机执行的汇编代码和机器代码。本章介绍C语言编程,首先概述其功能。第2章更详细地描述了C的特性。